<!doctype html>
<html class="no-js" lang="">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <title>Nestify</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <link rel="icon" type="image/x-icon" href="./images/favicon.ico">
	      <link rel="stylesheet" href="./styles/style.css">
    </head>
    <body>

        <div class="navbar navbar-default navbar-fixed-top visible-xs">
            <a href="./" class="navbar-brand">Nestify</a>
            <button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
        </div>

        <div class="xs-menu menu" id="mobile-menu">
                <div id="book-search-input" role="search"><input type="text" placeholder="请输入查询关键字"></div>            <compodoc-menu></compodoc-menu>
        </div>

        <div class="container-fluid main">
           <div class="row main">
               <div class="hidden-xs menu">
                   <compodoc-menu mode="normal"></compodoc-menu>
               </div>
               <!-- START CONTENT -->
               <div class="content getting-started">
                   <div class="content-data">

<h1 id="nestify">Nestify</h1>
<p><a href="https://opensource.org/licenses/mit-license.php"><img src="https://badges.frapsoft.com/os/mit/mit.svg?v=103" alt="MIT Licence" class="img-responsive"></a> <a href="https://gitter.im/nestify-stack/community?utm_source=badge&amp;utm_medium=badge&amp;utm_campaign=pr-badge"><img src="https://badges.gitter.im/nestify-stack/community.svg" alt="Gitter" class="img-responsive"></a> <a href="http://makeapullrequest.com"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" alt="PRs Welcome" class="img-responsive"></a> <a href="https://github.com/ZhiXiao-Lin/nestify"><img src="http://githubbadges.com/star.svg?user=ZhiXiao-Lin&repo=nestify&style=default" alt="star this repo" class="img-responsive"></a> <a href="https://github.com/ZhiXiao-Lin/nestify/fork"><img src="http://githubbadges.com/fork.svg?user=ZhiXiao-Lin&repo=nestify&style=default" alt="fork this repo" class="img-responsive"></a></p>
<ul>
<li>开箱即用的内容管理框架</li>
</ul>
<p><img src="/server/static/images/搜索.gif" alt="搜索" class="img-responsive">
<img src="/server/static/images/导入.gif" alt="导入" class="img-responsive">
<img src="/server/static/images/新增用户.gif" alt="新增用户" class="img-responsive"></p>
<h2 id="技术选型">技术选型</h2>
<ul>
<li>Nestjs、Nextjs、Fastify、TypeORM、ElasticSearch、Ant Design...</li>
</ul>
<h2 id="使用方法">使用方法</h2>
<ol>
<li>git clone 项目到本地</li>
<li>分别在 根、server、admin 目录中安装依赖</li>
<li>安装 ElasticSearch、InfluxDB、PostgreSQL、Redis</li>
<li>修改 server/package.json 以及 server/database/ 中 sql 文件的账户信息</li>
<li>回到根目录执行 yarn db:create 和 yarn db:init</li>
<li>开发模式启动前后台执行 yarn dev</li>
<li>默认账号：SysAdmin 密码：12345678</li>
</ol>
<h2 id="文档">文档</h2>
<ul>
<li><a href="http://docs.nestify.cn/">在线文档</a></li>
<li>启动项目后访问 http://127.0.0.0:3000/docs/ 查看接口文档</li>
<li>执行 yarn doc 然后访问 http://127.0.0.0:8080/ 查看项目文档</li>
</ul>
<h2 id="功能概览">功能概览</h2>
<ul>
<li>Fastify 的超强性能</li>
<li>React 服务端渲染</li>
<li>React SPA 后台管理系统</li>
<li>ElasticSearch 全文检索</li>
<li>RBAC 权限管理</li>
<li>日志模块</li>
<li>配置文件</li>
<li>安全保护</li>
<li>访问频率</li>
<li>堆栈跟踪</li>
<li>定时任务</li>
<li>文件上传、监控、搜索、管理</li>
<li>脚本创建、初始化、迁移、回滚数据库</li>
<li>Excel 导入、导出</li>
<li>Swagger API 文档</li>
<li>InfluxDB 时序数据库</li>
<li>WebSocket</li>
<li>系统监控</li>
<li>缓存模块</li>
<li>短信模块</li>
</ul>
<h2 id="正在开发的功能">正在开发的功能</h2>
<ul>
<li>容器部署</li>
<li>K8S</li>
<li>邮件模块</li>
<li>消息队列</li>
<li>单元测试</li>
<li>持续集成</li>
<li>工作流引擎</li>
<li>云存储接入</li>
<li>即时通讯接入</li>
<li>...</li>
</ul>
<h2 id="协议">协议</h2>
<p>Nestify is <a href="LICENSE">MIT licensed</a>.</p>


















                   </div><div class="search-results">
    <div class="has-results">
        <h1 class="search-results-title"><span class='search-results-count'></span> result-matching "<span class='search-query'></span>"</h1>
        <ul class="search-results-list"></ul>
    </div>
    <div class="no-results">
        <h1 class="search-results-title">无匹配的结果 "<span class='search-query'></span>"</h1>
    </div>
</div>
</div>
               <!-- END CONTENT -->
           </div>
       </div>

       <script>
            var COMPODOC_CURRENT_PAGE_DEPTH = 0;
            var COMPODOC_CURRENT_PAGE_CONTEXT = 'getting-started';
            var COMPODOC_CURRENT_PAGE_URL = 'index.html';
       </script>

       <script src="./js/libs/custom-elements.min.js"></script>
       <script src="./js/libs/lit-html.js"></script>
       <!-- Required to polyfill modern browsers as code is ES5 for IE... -->
       <script src="./js/libs/custom-elements-es5-adapter.js" charset="utf-8" defer></script>
       <script src="./js/menu-wc.js" defer></script>

       <script src="./js/libs/bootstrap-native.js"></script>

       <script src="./js/libs/es6-shim.min.js"></script>
       <script src="./js/libs/EventDispatcher.js"></script>
       <script src="./js/libs/promise.min.js"></script>
       <script src="./js/libs/zepto.min.js"></script>

       <script src="./js/compodoc.js"></script>

       <script src="./js/tabs.js"></script>
       <script src="./js/menu.js"></script>
       <script src="./js/libs/clipboard.min.js"></script>
       <script src="./js/libs/prism.js"></script>
       <script src="./js/sourceCode.js"></script>
          <script src="./js/search/search.js"></script>
          <script src="./js/search/lunr.min.js"></script>
          <script src="./js/search/search-lunr.js"></script>
          <script src="./js/search/search_index.js"></script>
       <script src="./js/lazy-load-graphs.js"></script>


    </body>
</html>
